//#define _CRT_SECURE_NO_WARNINGS 1
//
//
//#include<iostream>
//
//using namespace std;
//
//class A
//{
//public:
//	/*A(int a=7,int b=27)
//	{
//		_a = a;
//		_b = b;
//	}*/
//	A(int a, int b)
//	{
//		_a = 20;
//		_b = 30;
//	}
//	void print()
//	{
//		cout << _a << " " << _b<<endl;
//	}
//
//private:
//	int _a;
//	int _b;
//};
//
////#include<string>
//
//
//
//
//
//int main()
//{
//	//A a1;
//	//a1.print();
//	//A a2(11, 22);
//	//a2.print();
//	string a = "asdf";
//	string a1("asdfg");
//	cout << a1 << endl;
//
//
//	cout << a;
//
//
//	return 0;
//}
//


#include <ctime>
#include <iostream>
using namespace std;

class my_data
{
public:
    my_data(int year = 2025, int month = 7, int day = 27)
        :_year(year)
        , _month(month)
        , _day(day)
    {}

    int getmonthday(int year, int month)
    {
        int a[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
        if (month == 2 && (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)))
        {
            a[2]++;
        }
        return a[month];
    }
    /* my_data& operator+=(int day)
     {
         _day = _day + day;
         while (getmonthday(_year, _month) < _day)
         {
             _day -= getmonthday(_year, _month);
             _month++;
             if (_month == 13)
             {
                 _month = 1;
                 _year += 1;
             }
         }
         return *this;


     }*/
    my_data& add()
    {
        _day = _day + _addday;
        while (getmonthday(_year, _month) < _day)
        {
            _day -= getmonthday(_year, _month);
            _month++;
            if (_month == 13)
            {
                _month = 1;
                _year += 1;
            }
        }
        return *this;


    }
    my_data& datatime()
    {
        _month = 1;
        while (getmonthday(_year, _month) < _day)
        {
            _day -= getmonthday(_year, _month);
            _month++;
            if (_month == 13)
            {
                _month = 1;
                _year += 1;
            }
        }
        return *this;


    }
    void print1()
    {
        cout << _year << "-";

        if (_month < 10)
        {
            cout <<"0"<< _month << "-";
        }
        else
        {
            cout << _month << "-";
        }
        if (_day < 10)
        {
            cout << "0" << _day <<endl;
        }
        else
        {
            cout << _day <<endl;
        }

    }

    //private:
    int _year;
    int _month;
    int _day;
    int _addday;


};




//int main()
//{
//    /*my_data d1(2008, 2, 3);
//    d1 += 100;
//    d1.print();*/
//    int num;
//    cin >> num;
//    my_data* a = new my_data[num];
//    /*for (int i = 0; i < num; i++)
//    {
//        cin >> a[i]._year >> a[i]._month >> a[i]._day >> a[i]._addday;
//        a[i].add();
//    }*/
//    for (int i = 0; i < num; i++)
//    {
//        cin >> a[i]._year >> a[i]._day ;
//        a[i].datatime();
//    }
//    for (int i = 0; i < num; i++)
//    {
//        a[i].print1();
//    }
//
//
//
//    return 0;
//}


int main()
{
    
    my_data d1;
    while (cin >> d1._year >> d1._day)
    {
        d1.datatime();
        d1.print1();
    }
        
    
    


    return 0;
}


